package lambdasinaction.chap10;

import java.util.*;

import static java.util.Optional.of;
import static java.util.Optional.empty;

public class OperationsWithOptional {

//    public static void main(String... args) {
//        System.out.println(max(of(3), of(5)));
//        System.out.println(max(empty(), of(5)));
//
//        Optional<Integer> opt1 = of(5);
//        Optional<Integer> opt2 = opt1.or(() -> of(4));
//
//        System.out.println(
//        of(5).or(() -> of(4))
//                          );
//    }
//
//    public static final Optional<Integer> max(Optional<Integer> i, Optional<Integer> j) {
//         return i.flatMap(a -> j.map(b -> Math.max(a, b)));
//    }
}
